package org.erp.spu.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.erp.common.page.PageQueryModel;
import org.erp.spu.entity.SpuReleaseInfo;
import org.erp.spu.entity.bo.SpuReleaseInfoBo;
import org.erp.spu.entity.dto.SpuReleaseInfoDto;
import org.erp.spu.entity.vo.SpuReleaseInfoVo;

import java.util.List;

public interface SpuReleaseInfoService extends IService<SpuReleaseInfo> {

    /**
     * 获取发布项列表
     * @param spuReleaseInfoBo 查询参数
     * @return 列表数据
     */
    List<SpuReleaseInfoVo> getList(SpuReleaseInfoBo spuReleaseInfoBo);

    /**
     * 分页查询发布项
     * @param spuReleaseInfoDto 查询参数
     * @return 分页结果
     */
    PageQueryModel<SpuReleaseInfoVo> getListByPage(SpuReleaseInfoDto spuReleaseInfoDto);

    /**
     * 新增发布项
     * @param spuReleaseInfoDto 发布项数据
     * @return 操作结果
     */
    boolean addSpuReleaseInfo(SpuReleaseInfoDto spuReleaseInfoDto);

    /**
     * 修改发布项
     * @param spuReleaseInfoDto 发布项数据
     * @return 操作结果
     */
    boolean updateSpuReleaseInfo(SpuReleaseInfoDto spuReleaseInfoDto);

    /**
     * 根据ID获取详情
     * @param id 主键
     * @return 详情
     */
    SpuReleaseInfoVo getSpuReleaseInfoVoById(Long id);
}
